В этом упражнении вы будете использовать Stratis для создания файловых систем из пулов хранилищ, предоставляемых физическими запоминающими устройствами.
Результаты
Вы сможете:
создать файловую систему с динамическим выделением места (тонкой подготовкой), используя систему управления хранилищем Stratis;
убедиться, что тома Stratis увеличиваются динамически в соответствии с ростом объема данных;
обратиться к данным из моментального снимка файловой системы с динамическим выделением места.
Войдите на workstation как пользователь student с паролем student.
workstation
student
На workstation запустите сценарий lab advstorage-stratis start, чтобы начать упражнение. Этот сценарий подготавливает среду и обеспечивает очистку дополнительных дисков на servera.
lab advstorage-stratis start
servera
[student@workstation ~]$ lab advstorage-stratis start
[student@workstation ~]$
На workstation установите SSH-подключение к servera как пользователь student.
[student@workstation ~]$ ssh student@servera ...output omitted... [student@servera ~]$
ssh student@servera
[student@servera ~]$
Переключитесь на пользователя root.
root
[student@servera ~]$ sudo -i [sudo] password for student: student [root@servera ~]#
sudo -i
[sudo] password for student:
[root@servera ~]#
С помощью команды yum установите пакеты stratisd и stratis-cli.
yum
[root@servera ~]# yum install stratisd stratis-cli ...output omitted... Is this ok [y/N]: y ...output omitted... Complete!
yum install stratisd stratis-cli
Is this ok [y/N]:
y
С помощью команды systemctl активируйте службу stratisd.
systemctl
stratisd
[root@servera ~]# systemctl enable --now stratisd
systemctl enable --now stratisd
Убедитесь в наличии пула Stratis stratispool1 с блочным устройством /dev/vdb.
stratispool1
/dev/vdb
С помощью команды stratis pool create создайте пул Stratis с именем stratispool1.
stratis pool create
[root@servera ~]# stratis pool create stratispool1 /dev/vdb
stratis pool create stratispool1 /dev/vdb
С помощью команды stratis pool list проверьте доступность пула stratispool1.
stratis pool list
[root@servera ~]# stratis pool list Name Total Physical stratispool1 5 GiB / 37.63 MiB / 4.96 GiB
5 GiB
Обратите внимание на размер пула в выводе.
Расширьте пул stratispool1 с помощью блочного устройства /dev/vdc.
/dev/vdc
С помощью команды stratis pool add-data добавьте блочное устройство /dev/vdc в пул stratispool1.
stratis pool add-data
[root@servera ~]# stratis pool add-data stratispool1 /dev/vdc
stratis pool add-data stratispool1 /dev/vdc
С помощью команды stratis pool list проверьте размер пула stratispool1.
[root@servera ~]# stratis pool list Name Total Physical stratispool1 10 GiB / 41.63 MiB / 9.96 GiB
10 GiB
Как видно выше, размер пула stratispool1 увеличился, когда вы добавили блочное устройство.
С помощью команды stratis blockdev list проверьте, какие блочные устройства входят в пул stratispool1.
stratis blockdev list
[root@servera ~]# stratis blockdev list stratispool1 Pool Name Device Node Physical Size Tier stratispool1 /dev/vdb 5 GiB Data stratispool1 /dev/vdc 5 GiB Data
stratis blockdev list stratispool1
Добавьте файловую систему stratis-filesystem1 с динамическим выделением места в пул stratispool1. Смонтируйте файловую систему в /stratisvol. Создайте в файловой системе stratis-filesystem1 файл file1 с текстом Hello World!.
stratis-filesystem1
/stratisvol
file1
Hello World!
С помощью команды stratis filesystem create создайте в пуле stratispool1 файловую систему stratis-filesystem1 с динамическим выделением места. Выполнение команды может занять около минуты.
stratis filesystem create
[root@servera ~]# stratis filesystem create stratispool1 stratis-filesystem1
stratis filesystem create stratispool1 stratis-filesystem1
С помощью команды stratis filesystem list проверьте доступность файловой системы stratis-filesystem1.
stratis filesystem list
[root@servera ~]# stratis filesystem list Pool Name Name Used Created Device UUID stratispool1 stratis-filesystem1 546 MiB Mar 29 2019 07:48 /stratis/stratispool1/stratis-filesystem1 8714...e7db
Обратите внимание на использование stratis-filesystem1. Такое использование файловой системы увеличивает текущую нагрузку на следующих шагах.
С помощью команды mkdir создайте каталог с именем /stratisvol.
mkdir
[root@servera ~]# mkdir /stratisvol
mkdir /stratisvol
С помощью команды mount смонтируйте файловую систему stratis-filesystem1 в /stratisvol.
mount
[root@servera ~]# mount /stratis/stratispool1/stratis-filesystem1 /stratisvol
mount /stratis/stratispool1/stratis-filesystem1 /stratisvol
С помощью команды mount убедитесь, что том stratis-filesystem1 смонтирован в /stratisvol.
[root@servera ~]# mount ...output omitted... /dev/mapper/stratis-1-5c0e...12b9-thin-fs-8714...e7db on /stratisvol type xfs (rw,relatime,seclabel,attr2,inode64,sunit=2048,swidth=2048,noquota)
С помощью команды echo создайте текстовый файл /stratisvol/file1.
echo
/stratisvol/file1
[root@servera ~]# echo "Hello World!" > /stratisvol/file1
echo "Hello World!" > /stratisvol/file1
Убедитесь, что файловая система stratis-filesystem1 с динамическим выделением места увеличивается по мере увеличения объема данных в файловой системе.
С помощью команды stratis filesystem list проверьте текущее использование файловой системы stratis-filesystem1.
546 MiB
С помощью команды dd создайте файл размером 2 ГиБ в файловой системе stratis-filesystem1. Выполнение команды может занять около минуты.
dd
[root@servera ~]# dd if=/dev/urandom of=/stratisvol/file2 bs=1M count=2048
dd if=/dev/urandom of=/stratisvol/file2 bs=1M count=2048
С помощью команды stratis filesystem list проверьте использование файловой системы stratis-filesystem1.
[root@servera ~]# stratis filesystem list Pool Name Name Used Created Device UUID stratispool1 stratis-filesystem1 2.53 GiB Mar 29 2019 07:48 /stratis/stratispool1/stratis-filesystem1 8714...e7db
2.53 GiB
Из вывода следует, что нагрузка на stratis-filesystem1 увеличилась. Увеличение нагрузки подтверждает, что файловая система динамически расширяется в соответствии с увеличением объема данных в результате создания файла /stratisvol/file2.
/stratisvol/file2
Создайте моментальный снимок файловой системы stratis-filesystem1. Назовите его stratis-filesystem1-snap. Моментальный снимок предоставит доступ к любому файлу, который будет удален из stratis-filesystem1.
stratis-filesystem1-snap
С помощью команды stratis filesystem snapshot создайте моментальный снимок файловой системы stratis-filesystem1. Выполнение команды может занять около минуты.
stratis filesystem snapshot
Следующая команда длинная, и ее необходимо вводить в одной строке.
[root@servera ~]# stratis filesystem snapshot stratispool1 stratis-filesystem1 stratis-filesystem1-snap
stratis filesystem snapshot stratispool1 stratis-filesystem1 stratis-filesystem1-snap
С помощью команды stratis filesystem list проверьте доступность моментального снимка.
[root@servera ~]# stratis filesystem list ...output omitted... stratispool1 stratis-filesystem1-snap 2.53 GiB Mar 29 2019 10:28 /stratis/stratispool1/stratis-filesystem1-snap 291d...8a16
Удалите файл /stratisvol/file1.
[root@servera ~]# rm /stratisvol/file1 rm: remove regular file '/stratisvol/file1'? y
rm /stratisvol/file1
rm: remove regular file '/stratisvol/file1'?
С помощью команды mkdir создайте каталог с именем /stratisvol-snap.
/stratisvol-snap
[root@servera ~]# mkdir /stratisvol-snap
mkdir /stratisvol-snap
С помощью команды mount смонтируйте моментальный снимок stratis-filesystem1-snap в stratisvol-snap.
stratisvol-snap
[root@servera ~]# mount /stratis/stratispool1/stratis-filesystem1-snap /stratisvol-snap
mount /stratis/stratispool1/stratis-filesystem1-snap /stratisvol-snap
Убедитесь, что у вас по-прежнему есть доступ к файлу, удаленному из stratis-filesystem1, через моментальный снимок stratis-filesystem1-snap.
[root@servera ~]# cat /stratisvol-snap/file1 Hello World!
cat /stratisvol-snap/file1
С помощью команды umount размонтируйте /stratisvol и /stratisvol-snap.
umount
[root@servera ~]# umount /stratisvol-snap [root@servera ~]# umount /stratisvol
umount /stratisvol-snap
umount /stratisvol
Удалите из системы файловую систему stratis-filesystem1 и ее моментальный снимок stratis-filesystem1-snap.
С помощью команды stratis filesystem destroy удалите снимок stratis-filesystem1-snap.
stratis filesystem destroy
[root@servera ~]# stratis filesystem destroy stratispool1 stratis-filesystem1-snap
stratis filesystem destroy stratispool1 stratis-filesystem1-snap
С помощью команды stratis filesystem destroy удалите файловую систему stratis-filesystem1.
[root@servera ~]# stratis filesystem destroy stratispool1 stratis-filesystem1
stratis filesystem destroy stratispool1 stratis-filesystem1
Выйдите из командной оболочки пользователя root и из системы servera.
[root@servera ~]# exit logout [student@servera ~]$ exit logout Connection to servera closed. [student@workstation ~]$
exit
Конец
На машине workstation выполните команду lab advstorage-stratis finish, чтобы закончить это упражнение. Сценарий удаляет разделы и файлы, созданные в ходе упражнения, для очистки среды.
lab advstorage-stratis finish
[student@workstation ~]$ lab advstorage-stratis finish
Упражнение завершено.